package com.vdong.trade.order.entity.dto.result;


import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.RequiredArgsConstructor;

import java.io.Serializable;

/**
 *
 */
@Data
@Builder
@AllArgsConstructor
@RequiredArgsConstructor
public class PaymentRequestDTO implements Serializable {

    private static final long serialVersionUID = -332222867014834720L;

    /**
     * 必传:实际支付金额(单位为分)
     */
    private Long totalFee;

    /**
     * 必传:终端IP(APP和H5支付提交用户端ip，Native支付填调用微信支付API的机器IP)
     */
    private String spbillCreateIp;

    /**
     * 必传:支付渠道（详见:PayChannelEnum alipay：支付宝  /  wechat_pay：微信）
     */
    private String payChannel;

    /**
     * 必传:订单业务类型(详见:WechatPayEnums.OrderTypeEnum ==> type)
     */
    private Integer orderType;

    /**
     * 必传:支付方式(详见:WechatPayEnums.TradeTypeEnum => type)
     */
    private Integer tradeType;

    /**
     * 用户标识(trade_type=1,2 此参数必传)
     */
    private String openid;

    /**
     * 商品id(trade_type=3 此参数必传)
     */
    private String productId;

    /**
     * 商品描述(orderType=1 必传)
     * 微信支付提交格式要求；支付宝不需要严格控制格式
     * {浏览器打开的网站主页title名 -商品概述}
     */
    private String body;

    /**
     * 企业付款备注(orderType=2 企业付款必传)
     */
    private String desc;

    private String orderNo;

    private String kpayOrderNo;

}
